<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.29
     from ui.tnf on 19 December 2010 -->

<TITLE>Eli User Interface Reference Manual - Variables</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000" BACKGROUND="gifs/bg.gif">
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0" VALIGN=BOTTOM>
<TR VALIGN=BOTTOM>
<TD WIDTH="160" VALIGN=BOTTOM>
<A HREF="http://eli-project.sourceforge.net/">
<IMG SRC="gifs/elilogo.gif" BORDER=0>
</A>&nbsp;
</TD>
<TD WIDTH="25" VALIGN=BOTTOM>
<img src="gifs/empty.gif" WIDTH=25 HEIGHT=25>
</TD>
<TD ALIGN=LEFT WIDTH="475" VALIGN=BOTTOM>
<A HREF="index.html"><IMG SRC="gifs/title.png" BORDER=0></A>
</TD>
<!-- |DELETE FOR SOURCEFORGE LOGO|
<TD>
<a href="http://sourceforge.net/projects/eli-project">
<img
  src="http://sflogo.sourceforge.net/sflogo.php?group_id=70447&amp;type=13"
  width="120" height="30"
  alt="Get Eli: Translator Construction Made Easy at SourceForge.net.
    Fast, secure and Free Open Source software downloads"/>
</a>
</TD>
|DELETE FOR SOURCEFORGE LOGO| -->
</TR>
</TABLE>

<HR size=1 noshade width=785 align=left>
<TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0>
<TR>
<TD VALIGN=TOP WIDTH="160">
<h4>General Information</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="index.html">Eli: Translator Construction Made Easy</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="gindex_1.html#SEC1">Global Index</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="faq_toc.html" >Frequently Asked Questions</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ee.html" >Typical Eli Usage Errors</a> </td></tr>
</table>

<h4>Tutorials</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="EliRefCard_toc.html">Quick Reference Card</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="novice_toc.html">Guide For new Eli Users</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="news_toc.html">Release Notes of Eli</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="nametutorial_toc.html">Tutorial on Name Analysis</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="typetutorial_toc.html">Tutorial on Type Analysis</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ee.html" >Typical Eli Usage Errors</a> </td></tr>
</table>

<h4>Reference Manuals</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ui_toc.html">User Interface</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="pp_toc.html">Eli products and parameters</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lidoref_toc.html">LIDO Reference Manual</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ee.html" >Typical Eli Usage Errors</a> </td></tr>
</table>

<h4>Libraries</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lib_toc.html">Eli library routines</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="modlib_toc.html">Specification Module Library</a></td></tr>
</table>

<h4>Translation Tasks</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lex_toc.html">Lexical analysis specification</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="syntax_toc.html">Syntactic Analysis Manual</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="comptrees_toc.html">Computation in Trees</a></td></tr>
</table>

<h4>Tools</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lcl_toc.html">LIGA Control Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="show_toc.html">Debugging Information for LIDO</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="gorto_toc.html">Graphical ORder TOol</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="fw_toc.html">FunnelWeb User's Manual</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ptg_toc.html">Pattern-based Text Generator</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="deftbl_toc.html">Property Definition Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="oil_toc.html">Operator Identification Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="tp_toc.html">Tree Grammar Specification Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="clp_toc.html">Command Line Processing</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="cola_toc.html">COLA Options Reference Manual</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="idem_toc.html">Generating Unparsing Code</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="mon_toc.html">Monitoring a Processor's Execution</a> </td></tr>
</table>

<h4>Administration</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="sysadmin_toc.html">System Administration Guide</a> </td></tr>
</table>

<HR WIDTH="100%">
<A HREF="mailto:eli-project-users@lists.sourceforge.net">
<IMG SRC="gifs/button_mail.gif" BORDER=0 ALIGN="left"></A>
<A HREF="index.html"><IMG SRC="gifs/home.gif" BORDER=0 ALIGN="right"></A>

</TD>
<TD VALIGN=TOP WIDTH="25"><img src="gifs/empty.gif" WIDTH=25 HEIGHT=25></TD>

<TD VALIGN=TOP WIDTH="600">
<H1>Eli User Interface Reference Manual</H1>
<P>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="ui_6.html"><IMG SRC="gifs/prev.gif" ALT="Previous Chapter" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="ui_8.html"><IMG SRC="gifs/next.gif" ALT="Next Chapter" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="ui_toc.html"><IMG SRC="gifs/up.gif" ALT="Table of Contents" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT="">
<HR size=1 noshade width=600 align=left>
<H1><A NAME="SEC15" HREF="ui_toc.html#SEC15">Variables</A></H1>
<P>
The behavior of Eli can be modified by changing the value
of an <DFN>Odin variable</DFN>.
The functions affected by Odin variables are
the current working directory,
the distributed parallel build facility,
the help facility, the error and log facility,
the file change notification facility, and
the maximum total file system space used by derived objects.
<P>
A variable assignment odin-command consists of the name of an Odin variable
followed by an <KBD>=</KBD> operator and an odin-expression.
For example, the following odin-commands
assign the value <CODE>../src</CODE> to the <CODE>Dir</CODE> variable
and the value <CODE>4</CODE> to the <CODE>WarnLevel</CODE> variable
(Odin variable names are case-insensitive).
<P>
<PRE>
-&#62; dir = ../src
-&#62; warnlevel = 4
</PRE>
<P>
If the value is omitted from a variable assignment odin-command,
Eli displays the current value of the specified variable.
After the preceding odin-commands, the current value of <CODE>WarnLevel</CODE>
is found by the command:
<P>
<PRE>
-&#62; warnlevel =
4
</PRE>
<P>
The Odin variables and their default values are:
<P>
<UL>
<LI>
<CODE>Dir</CODE> = eli_invocation_directory
<A NAME="IDX22"></A>
<LI>
<CODE>MaxBuilds</CODE> = 2
<A NAME="IDX23"></A>
<LI>
<CODE>BuildHosts</CODE> = LOCAL : LOCAL
<A NAME="IDX24"></A>
<LI>
<CODE>Size</CODE> = 0
<A NAME="IDX25"></A>
<LI>
<CODE>KeepGoing</CODE> = yes
<A NAME="IDX26"></A>
<LI>
<CODE>History</CODE> = yes
<A NAME="IDX27"></A>
<LI>
<CODE>LogLevel</CODE> = 2
<A NAME="IDX28"></A>
<LI>
<CODE>ErrLevel</CODE> = 3
<A NAME="IDX29"></A>
<LI>
<CODE>WarnLevel</CODE> = 2
<A NAME="IDX30"></A>
<LI>
<CODE>HelpLevel</CODE> = 1
<A NAME="IDX31"></A>
<LI>
<CODE>VerifyLevel</CODE> = 2
<A NAME="IDX32"></A>
</UL>
<P>
An initial value for an Odin variable can be
specified in an environment variable whose name is the
the Odin variable name in capital letters preceded by the
string <CODE>ODIN</CODE>.  For example, the initial value for <CODE>MaxBuilds</CODE>
is specified in the <CODE>ODINMAXBUILDS</CODE> environment variable.
<P>
<H2><A NAME="SEC16" HREF="ui_toc.html#SEC16">Dir</A></H2>
<P>
The current working directory can be changed by assigning a new value
to the <CODE>Dir</CODE> variable.
The value of the current working directory is especially significant for Eli,
since it identifies source objects by their absolute pathname,
and the current working directory provides the absolute pathname
for all relative names.
<P>
<H2><A NAME="SEC17" HREF="ui_toc.html#SEC17">BuildHosts, MaxBuilds</A></H2>
<P>
The <CODE>BuildHosts</CODE> variable specifies the list of hosts that are used to
execute the tools that generate the derived objects.
A tool is executed on the first entry in the <CODE>BuildHosts</CODE>
list that does not have a currently executing tool.
The name <CODE>LOCAL</CODE> refers to the local host.
The <CODE>MaxBuilds</CODE> variable specifies the maximum number of tools
to execute in parallel.
<P>
The hosts in <CODE>BuildHosts</CODE> must have
the same machine architecture and file namespace as the local host.
<P>
<H2><A NAME="SEC18" HREF="ui_toc.html#SEC18">KeepGoing</A></H2>
<P>
When a build step reports errors, Eli will continue with build
steps that do not depend on the failed build step.
Setting the value of the <CODE>KeepGoing</CODE> variable to <CODE>no</CODE>
will cause Eli to terminate the build when any build step reports an error.
<P>
<H2><A NAME="SEC19" HREF="ui_toc.html#SEC19">History</A></H2>
<P>
The <CODE>History</CODE> variable specifies whether the command line editing
is supported by Eli when it is used as an interactive command interpreter
(see  <A HREF="ui_6.html#SEC14">The Command Editing Mechanism</A>).
<P>
<H2><A NAME="SEC20" HREF="ui_toc.html#SEC20">ErrLevel, WarnLevel, LogLevel</A></H2>
<P>
When an odin-command is executed, Eli indicates any errors or
warnings associated with the odin-expressions specified in that odin-command.
The <CODE>ErrLevel</CODE> and <CODE>WarnLevel</CODE> variables specify
how detailed this report is.
In particular, the user can choose whether
to see final status information,
to see messages incrementally as they are produced by tools steps,
or to see a summary of all relevant messages (including those from
previously cached tool steps).
<P>
Eli can also produce a variety of information about the activities
it is performing, such as a brief description of each tool that is
invoked to satisfy a given request.
The <CODE>LogLevel</CODE> variable specifies how detailed these messages are.
<P>
<H2><A NAME="SEC21" HREF="ui_toc.html#SEC21">HelpLevel</A></H2>
<P>
The <CODE>HelpLevel</CODE> variable specifies what degree of detail
is provided when the user asks for a list of possible file or parameter types
(see  <A HREF="ui_8.html#SEC25">The Help Facility</A>).
Normally, only commonly used types are described, but the <CODE>HelpLevel</CODE>
can be increased to have all possible types described.
<P>
<H2><A NAME="SEC22" HREF="ui_toc.html#SEC22">VerifyLevel</A></H2>
<P>
By default, Eli checks the modification dates of all relevant source files
at the beginning of a session and before each interactive odin-command.
If all file modifications during the session are performed through
copy odin-commands or through an editor that has been upgraded
to send a <CODE>filename!:test</CODE> odin-command to Eli whenever <CODE>filename</CODE>
is modified,
the <CODE>VerifyLevel</CODE> variable can be set to <CODE>1</CODE> and only the check
at the beginning of the session is performed.
If all file modifications since the last session have been performed
in the above manner,
<CODE>VerifyLevel</CODE> can be set to <CODE>0</CODE> and the initial check
is avoided as well.
<P>
<H2><A NAME="SEC23" HREF="ui_toc.html#SEC23">Size</A></H2>
<P>
The value of the <CODE>Size</CODE> variable indicates how much disk space
(in kilobytes) is currently being used by derived files.
<P>
<H2><A NAME="SEC24" HREF="ui_toc.html#SEC24">Environment Variables</A></H2>
<P>
Environment variables can be used in odin-commands given during interactive
sessions, but are not allowed in an Odinfile
(see  <A HREF="ui_5.html#SEC13">The Odinfile</A>).
For example, if the environment variable <CODE>$HOME</CODE> has the value
<TT>`/u/geoff'</TT>, then the following two odin-commands are equivalent.
<P>
<PRE>
-&#62; $HOME/sets.specs :exe
-&#62; /u/geoff/sets.specs :exe
</PRE>
<P>
The value of an environment variable can be quoted by immediately
preceding it with a quoted identifier.
For example, if the value of <CODE>$DATA</CODE> is <CODE>/french/words</CODE>,
then the following two odin-commands are equivalent.
<P>
<PRE>
-&#62; sets.specs +monitor +arg='/u/geoff'$DATA :mon
-&#62; sets.specs +monitor +arg='/u/geoff/french/words' :mon
</PRE>
<P>
An environment variable is given a new value
with a variable assignment odin-command of the form:
<VAR>Variable</VAR> <CODE>= !</CODE> <VAR>Value</VAR>.
(Note the use of <KBD>!</KBD>, in contrast to an odin-variable assignment.
It suspends Eli's lexical conventions -- see  <A HREF="ui_4.html#SEC12">Execute Commands</A>.)
Thus the following odin-command sets the value of the environment variable
<CODE>$HOME</CODE> to the value <TT>`/u/clemm'</TT>:
<P>
<PRE>
-&#62; HOME = !/u/clemm
</PRE>
<P>
The expressions <CODE>~</CODE> and <CODE>~name</CODE> are treated as if they were
environment variables, bound respectively to the login directory of the current
user and the login directory of the user with login <CODE>name</CODE>.
<P>
<HR size=1 noshade width=600 align=left>
<P>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="ui_6.html"><IMG SRC="gifs/prev.gif" ALT="Previous Chapter" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="ui_8.html"><IMG SRC="gifs/next.gif" ALT="Next Chapter" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="ui_toc.html"><IMG SRC="gifs/up.gif" ALT="Table of Contents" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT="">
<HR size=1 noshade width=600 align=left>
</TD>
</TR>
</TABLE>

</BODY></HTML>
